In typical instrumentation systems, a computer communicates with control instruments such as oscilloscopes and function generators that can obtain data about dynamic real-world systems under test. Users can model, simulate, or analyze data by establishing a communication channel to the control instruments. Users connect the computer to the control instruments through various interface options such as Serial, General Purpose Interface Bus (GPIB), or Virtual Machine Environment Extended for Instrumentation (VXI).
Users typically use a software driver having a distinct API provided by a manufacturer of an interface hardware to establish a communication channel with a particular control instrument. The software driver includes a library of executable functions that a computer program may call to establish the communication channel or to reconfigure the communication channel.